Declaration of the Matrix class. More...
#include <boost/scoped_ptr.hpp>
#include <gridpack/parallel/distributed.hpp>
#include <gridpack/utilities/uncopyable.hpp>
#include <gridpack/math/matrix_implementation.hpp>
#include <gridpack/math/vector.hpp>
#include <gridpack/math/matrix_storage_type.hpp>
Go to the source code of this file.
Classes | |
class | gridpack::math::MatrixT< T, I > |
A parallel or serial matrix of real values. More... | |
Namespaces | |
namespace | gridpack |
namespace | gridpack::math |
Typedefs | |
typedef MatrixT< ComplexType > | gridpack::math::ComplexMatrix |
typedef MatrixT< RealType > | gridpack::math::RealMatrix |
typedef ComplexMatrix | gridpack::math::Matrix |
The main matrix type. | |
Functions | |
template<typename T , typename I > | |
void | gridpack::math::add (const MatrixT< T, I > &A, const MatrixT< T, I > &B, MatrixT< T, I > &result) |
Add two Matrix instances and put the result in a third. | |
template<typename T , typename I > | |
void | gridpack::math::transpose (const MatrixT< T, I > &A, MatrixT< T, I > &result) |
Make the transpose of a Matrix and put it in another. | |
template<typename T , typename I > | |
void | gridpack::math::column (const MatrixT< T, I > &A, const int &cidx, VectorT< T, I > &x) |
Get a column from the Matrix and put in specified Vector. | |
template<typename T , typename I > | |
void | gridpack::math::diagonal (const MatrixT< T, I > &A, VectorT< T, I > &x) |
Get the diagonal from a Matrix and put it in specified Vector. | |
template<typename T , typename I > | |
void | gridpack::math::multiply (const MatrixT< T, I > &A, const MatrixT< T, I > &B, MatrixT< T, I > &result) |
Multiply two Matrix instances and put result in existing Matrix. | |
template<typename T , typename I > | |
void | gridpack::math::multiply (const MatrixT< T, I > &A, const VectorT< T, I > &x, VectorT< T, I > &result) |
Multiply a Matrix by a Vector and put result in existing Vector. | |
template<typename T , typename I > | |
void | gridpack::math::transposeMultiply (const MatrixT< T, I > &A, const VectorT< T, I > &x, VectorT< T, I > &result) |
Multiply the transpose of a Matrix by a Vector and put the result in existing Vector. | |
template<typename T , typename I > | |
MatrixT< T, I > * | gridpack::math::add (const MatrixT< T, I > &A, const MatrixT< T, I > &B) |
Add two Matrix instances. | |
template<typename T , typename I > | |
MatrixT< T, I > * | gridpack::math::transpose (const MatrixT< T, I > &A) |
Make the transpose of a Matrix. | |
template<typename T , typename I > | |
VectorT< T, I > * | gridpack::math::column (const MatrixT< T, I > &A, const int &cidx) |
Get a column from the Matrix and put in new Vector. | |
template<typename T , typename I > | |
VectorT< T, I > * | gridpack::math::diagonal (const MatrixT< T, I > &A) |
Get the diagonal from a Matrix and put in new Vector. | |
template<typename T , typename I > | |
MatrixT< T, I > * | gridpack::math::diagonal (const VectorT< T, I > &x, const MatrixStorageType &stype=Sparse) |
Make a diagonal Matrix from a Vector. | |
template<typename T , typename I > | |
MatrixT< T, I > * | gridpack::math::multiply (const MatrixT< T, I > &A, const MatrixT< T, I > &B) |
Multiply two Matrix instances and make a new one. | |
template<typename T , typename I > | |
VectorT< T, I > * | gridpack::math::multiply (const MatrixT< T, I > &A, const VectorT< T, I > &x) |
Multiply a Matrix by a Vector and make a new Vector for the result. | |
template<typename T , typename I > | |
VectorT< T, I > * | gridpack::math::transposeMultiply (const MatrixT< T, I > &A, const VectorT< T, I > &x) |
Multiply the transpose of a Matrix by a Vector and make a new Vector for the result. | |
template<typename T , typename I > | |
MatrixT< T, I > * | gridpack::math::identity (const MatrixT< T, I > &A) |
Make an identity matrix with the same ownership as the specified matrix. | |
template<typename T , typename I > | |
MatrixT< T, I > * | gridpack::math::real (const MatrixT< T, I > &A) |
Create a new matrix containing the real part of the specified matrix. | |
template<typename T , typename I > | |
MatrixT< T, I > * | gridpack::math::imaginary (const MatrixT< T, I > &A) |
Create a new matrix containing the imaginary part of the specified matrix. | |
template<typename T , typename I > | |
MatrixT< T, I > * | gridpack::math::conjugate (const MatrixT< T, I > &A) |
Create a new matrix containing the complex conjugate of the specified matrix. | |
template<typename T , typename I > | |
MatrixT< T, I > * | gridpack::math::storageType (const MatrixT< T, I > &A, const MatrixStorageType &new_type) |
Create a copy of a Matrix, possibly with a different storage type. | |
template<typename T , typename I > | |
MatrixT< T, I > * | gridpack::math::matrixLoadBinary (const parallel::Communicator &comm, const char *filename) |
Create a new matrix and load its contents from the specified (binary) file. |
Declaration of the Matrix class.